Yes, the original Axes3D didn't work within the subplot() framework. And subplots leave extra room for the static axes labels, meanwhile, Axes3D needed to account for extra space for its axes labels within the axes plotting area. Originally, this was fine because you didn't make Axes3D objects using subplots, so you didn't get allocated extra margins for axes labels. When it became possible to specify projection='3d' to a subplot call, this had the inadvertent effect of getting extra margin space that wasn't really needed.
I never did figure out a good solution for this that wouldn't act counter-intuitively. Perhaps Axes3D needs to be reworked such that it can interpret and express the margin parameters itself rather than letting it be handled by 2D-based assumptions?
|